package main

import (
	"gitee.com/dark.H/gs"
	"gitee.com/dark.H/gt"
	"github.com/mattn/go-runewidth"
)

func main() {
	text := gt.NewPanelText(`
	首先append第一维度肯定要保持和等号左边一样的二维切片，否则他是没办法插入的，具体可以看append函数的源码
因此我们需要自己构造一个二维切片放入我们要头插的内容，当然二维要放入的内容肯定是一维一维放入的，这点要对应
第二个参数则是我们原来的二维切片，这里有…，目前总结出的…用法有两种： 1.放在参数后面，代表不定数量的参数 2.放在slice后面，代表将slice打散进行传递，例如

	res=[[1,2],[3,4],[5,6]]
	res...=[1,2] [3,4] [5,6]
1是不是
	————————————————
	版权声明：本文为CSDN博主「blakezyr」的原创文章，遵循CC 4.0 BY-SA版权协议，转载请附上原文出处链接及本声明。
	原文链接：https://blog.csdn.net/qq_39388433/article/details/110006902
	
	`)
	text.SetSizeWidth(100).SetSizeHeight(20)
	t := gs.Str("第二个参数则是我们原来的二维切片，这里有…，目前总结出的…用法有两种： 1.放在参数后面，代表不定数量的参数 2.放在slice后面，代表将slice打散进行传递，例如")
	x, y := text.Loc()
	text.SetTitle(gs.Str("line length :%d rawlen: %d slen : %d  | x:%d y:%d Mode: %d").F(t.Len(), runewidth.StringWidth(t.Str()), t.Len(true), x, y, text.Mode))
	// runewidth.Truncate()
	// text.OnClickRaw(func(e termbox.Event, panel *gt.PanelHandler) bool {
	// 	text.SetTitle(gs.Str("click x:%d y: %d ch:%v key:%v mod:%v type:%v in:%v").F(e.MouseX, e.MouseY, e.Ch, e.Key, e.Mod, e.Type, text.IsInMe(e.MouseX, e.MouseY)))
	// 	return false
	// })
	text.Focus()
}
